perm filename FOO.BAR[QLA,LSP] blob sn#833486 filedate 1987-02-03 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	(m-defun m-equal (x y)
C00004 ENDMK
CāŠ—;
(m-defun m-equal (x y)
	 (qcatch 'm-equal
		 (m-equal-1 x y)))
(m-defun m-equal-1 (x y)
	 (cond ((eq x y))
	       ((or (atom x)
		    (atom y))
		(throw 'm-equal ()))
	       (t
		((lambda (f g)
			 (f)(g) t)
		 (qlambda t ()(m-equal-1 (car x)(car y)))
		 (qlambda t ()(m-equal-1 (cdr x)(cdr y)))))))

(m-defun m-equal (x y)
	 (qcatch 'm-equal
		 (labels ((equal
			   (lambda (x y)
				   (cond ((eq x y))
					 ((or (atom x)
					      (atom y))
					  (throw 'm-equal ()))
					 (t
					  (funcall
					   (qlambda t ()
						    (m-equal (car x)(car y))))
					  (funcall 
					   (qlambda t ()
						    (m-equal (cdr x)(cdr y))))
					  t)))))
			 (equal x y))))

(setq l1
      '((d . c) . (d . f))
      l2
      '((a . c) . (d . f)))

(m-equal l1 l2))